-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release v2.10.0 #5455
Merged
Merged
Release v2.10.0 #5455
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ed items in tables
Stage v2.10 release
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
v2.10.0 (2020-12-14)
NOTE: This release completely removes support for embedded graphs.
NOTE: The Django templating language (DTL) is no longer supported for export templates. Ensure that all export templates use Jinja2 before upgrading.
New Features
Route Targets (#259)
This release introduces support for modeling L3VPN route targets, which can be used to control the redistribution of advertised prefixes among VRFs. Each VRF may be assigned one or more route targets in the import and/or export direction. Like VRFs, route targets may be assigned to tenants and support tag assignment.
REST API Bulk Deletion (#3436)
The REST API now supports the bulk deletion of objects of the same type in a single request. Send a
DELETE
HTTP request to the list to the model's list endpoint (e.g./api/dcim/sites/
) with a list of JSON objects specifying the numeric ID of each object to be deleted. For example, to delete sites with IDs 10, 11, and 12, issue the following request:REST API Bulk Update (#4882)
Similar to bulk deletion, the REST API also now supports bulk updates. Send a
PUT
orPATCH
HTTP request to the list to the model's list endpoint (e.g./api/dcim/sites/
) with a list of JSON objects specifying the numeric ID of each object and the attribute(s) to be updated. For example, to set a description for sites with IDs 10 and 11, issue the following request:Reimplementation of Custom Fields (#4878)
NetBox v2.10 introduces a completely overhauled approach to custom fields. Whereas previous versions used CustomFieldValue instances to store values, custom field data is now stored directly on each model instance as JSON data and may be accessed using the
cf
property:Additionally, custom selection field choices are now defined on the CustomField model within the admin UI, which greatly simplifies working with choice values.
Improved Cable Trace Performance (#4900)
All end-to-end cable paths are now cached using the new CablePath backend model. This allows NetBox to now immediately return the complete path originating from any endpoint directly from the database, rather than having to trace each cable recursively. It also resolves some systemic validation issues present in the original implementation.
Note: As part of this change, cable traces will no longer traverse circuits: A circuit termination will be considered the origin or destination of an end-to-end path.
Enhancements
<app>.<model>
string/api/status/
) which returns NetBox's current operational status/api/extras/content-types/
)Other Changes
obj_type
tocontent_types
commit
argument is now required argument in a custom script'srun()
methodREST API Changes
PUT
,PATCH
, andDELETE
operations on list endpoints (bulk update and delete)/extras/content-types/
endpoint for Django ContentTypes/extras/custom-fields/
endpoint for custom fields/extras/_custom_field_choices/
endpoint (replaced by new custom fields endpoint)/status/
endpoint to convey NetBox's current status/trace/
endpointconnection_status
withconnected_endpoint_reachable
(boolean)cable_peer
andcable_peer_type
port_speed
may now be nullcustom_fields
connection_status
withconnected_endpoint_reachable
(boolean)cable_peer
andcable_peer_type
connection_status
from nested serializerconnection_status
withconnected_endpoint_reachable
(boolean)cable_peer
andcable_peer_type
connection_status
from nested serializer/trace/
endpoint with/paths/
, which returns a list of cable pathscable_peer
andcable_peer_type
connection_status
withconnected_endpoint_reachable
(boolean)cable_peer
andcable_peer_type
connection_status
from nested serializer_depth
field has been added to reflect MPTT positioning/trace/
endpointconnected_endpoint
,connected_endpoint_type
,connected_endpoint_reachable
,cable_peer
, andcable_peer_type
connection_status
withconnected_endpoint_reachable
(boolean)cable_peer
andcable_peer_type
connection_status
from nested serializercustom_fields
connection_status
withconnected_endpoint_reachable
(boolean)cable_peer
andcable_peer_type
connection_status
from nested serializercustom_fields
/trace/
endpoint with/paths/
, which returns a list of cable pathscable_peer
andcable_peer_type
custom_fields
template_language
field has been removedcontent_type
now takes a string in the form<app>.<model>
changed_object_type
now takes a string in the form<app>.<model>
tenant
fieldport
toports
; now holds a list of one or more port numbersimport_targets
andexport_targets
fieldsdevice
field; replaced withassigned_object
generic foreign key. This may represent either a device or a virtual machine. Assign an object by settingassigned_object_type
andassigned_object_id
.